package com.example.travel.mapper;

import com.example.travel.bean.IchBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface IchMapper {
    
    /**
     * 获取所有非遗信息
     */
    List<IchBean> getAllIch();
    
    /**
     * 根据ID获取非遗信息
     */
    IchBean getIchById(@Param("ichID") int ichID);
    
    /**
     * 添加非遗信息
     */
    int addIch(IchBean ich);
    
    /**
     * 更新非遗信息
     */
    int updateIch(IchBean ich);
    
    /**
     * 删除非遗信息
     */
    int deleteIch(@Param("ichID") int ichID);
    
    /**
     * 根据名称搜索非遗信息
     */
    List<IchBean> searchIchByName(@Param("ichName") String ichName);
    
    /**
     * 根据地点搜索非遗信息
     */
    List<IchBean> searchIchByLocation(@Param("ichLocation") String ichLocation);
    
    /**
     * 分页查询非遗信息
     */
    List<IchBean> getIchListWithPagination(@Param("searchKeyword") String searchKeyword, @Param("offset") int offset, @Param("pageSize") int pageSize);
    
    /**
     * 获取非遗信息总数
     */
    int getIchCount(@Param("searchKeyword") String searchKeyword);
}
